Composing Features by Managing Inconsistent Requirements
نویسندگان
چکیده
One approach to system development is to decompose the requirements into features and specify the individual features before composing them. A major limitation of deferring feature composition is that inconsistency between the solutions to individual features may not be uncovered early in the development, leading to unwanted feature interactions. Syntactic inconsistencies arising from the way software artefacts are described can be addressed by the use of explicit, shared, domain knowledge. However, behavioural inconsistencies are more challenging: they may occur within the requirements associated with two or more features as well as at the level of individual features. Whilst approaches exist that address behavioural inconsistencies at design time, these are overrestrictive in ruling out all possible conflicts and may weaken the requirements further than is desirable. In this paper, we present a lightweight approach to dealing with behavioural inconsistencies at run-time. Requirement Composition operators are introduced that specify a run-time prioritisation to be used on occurrence of a feature interaction. This prioritisation can be static or dynamic. Dynamic prioritisation favours some requirement according to some run-time criterion, for example, the extent to which it is already generating behaviour.
منابع مشابه
Managing variability of self-customizable systems through composable components
Self-customizable systems must adapt themselves to evolving user requirements or to their changing environment. One way to address this problem is through automatic component composition, systematically (re-)building systems according to the current requirements by composing reusable components. Our work addresses requirements-driven composition of multi-flow architectures. This article present...
متن کاملA Framework for Specifying and Managing Security Requirements in Collaborative Systems
Although security has been recognized as an increasingly important and critical issue for software system development, most security requirements are poorly specified: ambiguous, misleading, inconsistent among various parts, and lacking sufficient details. In this paper, a framework for specifying unambiguous, interoperable security requirements and detecting conflict and undesirable emergent p...
متن کاملManaging Use Cases During Goal-Driven Requirements Engineering: Challenges Encountered and Lessons Learned
Use cases and scenarios have emerged as prominent analysis tools during requirements engineering activities due to both their richness and informality. In some instances, for example when a project's budget or schedule time is reduced on short notice, practitioners have been known to adopt a collection of use cases as a suitable substitute for a requirements specification. Given the challenges ...
متن کاملManaging Inconsistent Possibilistic Knowledge Bases by An Argumentation Approach
Inconsistent knowledge bases usually are regarded as an epistemic hell that have to be avoided at all costs. However, many times it is di cult or impossible to stay away of managing inconsistent knowledge bases. In this paper, we introduce an argumentation-based approach in order to manage inconsistent possibilistic knowledge bases. This approach will be exible enough for managing inconsistent ...
متن کاملComposing Software from Multiple Concerns: Composability and Composition Anomalies
It is generally acknowledged that separation of concerns is a key requirement for effective software engineering: it helps in managing the complexity of software and supports the maintainability of a software system. Separation of concerns makes only sense if the realizations in software of these concerns can be composed together effectively into a working program. The ability to compose system...
متن کامل